<script>
	import Vue from 'vue'
	import {
		TUIChatKit,
		genTestUserSig
	} from "./TUIKit";
	import {
		vueVersion
	} from "./TUIKit/adapter-vue";
	import {
		TUILogin
	} from "@tencentcloud/tui-core";
	const config = {
		userID: "administrator", //User ID
		SDKAppID: 1600009630, // Your SDKAppID
		secretKey: "23a724a2d6b55b26ebfa56646e102b4f9d1b4ff6a34242b9d2b619861f32352c", // Your secretKey
	};
	uni.$chat_userID = config.userID;
	uni.$chat_SDKAppID = config.SDKAppID;
	uni.$chat_secretKey = config.secretKey;

	uni.$chat_userSig = genTestUserSig(config).userSig;
	// TUIChatKit 初始化
	TUIChatKit.init();


	// #ifdef H5
	var VConsole = require('@/utils/vconsole.min.js')
	//  #endif
	export default {
		onLaunch: function() {
			const updateManager = uni.getUpdateManager()
			updateManager.onCheckForUpdate(function(res) {
				// 请求完新版本信息的回调
				console.log(res.hasUpdate)
			})
			// 下载新版本
			updateManager.onUpdateReady(function() {
				uni.showModal({
					title: '更新提示',
					content: '新版本已经准备好，是否重启应用？',
					success(res) {
						if (res.confirm) {
							// 重启应用
							updateManager.applyUpdate()
						}
					},
				})
			})
			// 新版本下载失败
			updateManager.onUpdateFailed(function(res) {
				// 新的版本下载失败
				uni.showModal({
					title: '已经有新版本了哟~',
					content: '新版本已经上线啦~，请您删除当前小程序，重新搜索打开哟~',
				})
			})

			// #ifdef APP-PLUS || H5
			// TUICore login
			TUILogin.login({
				SDKAppID: uni.$chat_SDKAppID,
				userID: uni.$chat_userID,
				// UserSig 是用户登录即时通信 IM 的密码，其本质是对 UserID 等信息加密后得到的密文。
				// 该方法仅适合本地跑通 Demo 和功能调试，详情请参见 https://cloud.tencent.com/document/product/269/32688     
				userSig: uni.$chat_userSig,
				// 如果您需要发送图片、语音、视频、文件等富媒体消息，请设置为 true
				useUploadPlugin: true,
				// 本地审核可识别、处理不安全、不适宜的内容，为您的产品体验和业务安全保驾护航
				// 此功能为增值服务，请参考：https://cloud.tencent.com/document/product/269/79139
				// 如果您已购买内容审核服务，开启此功能请设置为 true
				useProfanityFilterPlugin: false,
				framework: `vue${vueVersion}` // 当前开发使用框架 vue2 / vue3
			});
			// #endif

		},
		onShow: function() {
			console.log('App Show')
		},
		onHide: function() {
			console.log('App Hide')
		},
		mounted() {
			// #ifdef H5
			//var vConsole = new VConsole()
			console.log('开启调试')
			//  #endif
			this.setAppInfo()
		},
		methods: {
			// 获取系统栏高度
			async setAppInfo() {
				let that = this
				return new Promise((resolve, reject) => {
					uni.getSystemInfo({
						success: function(e) {
							Vue.prototype.StatusBar = e.statusBarHeight
							// #ifdef H5
							Vue.prototype.CustomBar = e.statusBarHeight + 45
							// #endif

							// #ifdef APP-PLUS
							if (e.platform == 'android') {
								Vue.prototype.CustomBar = e.statusBarHeight + 50
							} else {
								Vue.prototype.CustomBar = e.statusBarHeight + 45
							}
							// #endif

							// #ifdef MP-WEIXIN
							let custom = wx.getMenuButtonBoundingClientRect()
							Vue.prototype.Custom = custom
							Vue.prototype.CustomBar = custom.bottom + custom.top - e
								.statusBarHeight
							// #endif
						},
					})
				})
			},

			// 自动登录
			async autoLogin(data) {},
		},
	}
</script>

<style lang="scss">
	/* 注意要写在第一行，同时给style标签加入lang="scss"属性 */
	@import "uview-ui/index.scss";

	/*每个页面公共css */
	uni-page-body,
	html,
	body,
	page {
		width: 100% !important;
		height: 100% !important;
		overflow: hidden;
	}
</style>

<style lang="less">
	/*每个页面公共css */
	@import 'animate.css';
	@import './assets/iconfont/iconfont.css';
	@import './assets/css/base.less';
	@import './assets/css/reset.less';
	@import './assets/css/style.less';
</style>